{
 "metadata": {
  "name": ""
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "# `prettyplotlib.bar`\n",
      "\n",
      "The default `matplotlib` bar charts are okay, but they leave much to be desired."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import matplotlib.pyplot as plt\n",
      "import numpy as np\n",
      "import string\n",
      "\n",
      "fig, ax = plt.subplots(1)\n",
      "\n",
      "np.random.seed(14)\n",
      "\n",
      "ax.bar(np.arange(10), np.abs(np.random.randn(10)))\n",
      "fig.savefig('bar_matplotlib_default.png')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nrkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10cac4910>"
       ]
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%load_ext autoreload\n",
      "%autoreload 2\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "ename": "ImportError",
       "evalue": "cannot import name remove_chartjunk",
       "output_type": "pyerr",
       "traceback": [
        "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mImportError\u001b[0m                               Traceback (most recent call last)",
        "\u001b[0;32m<ipython-input-6-cbd125b6ada2>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[0mget_ipython\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmagic\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mu'load_ext autoreload'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      2\u001b[0m \u001b[0mget_ipython\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmagic\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mu'autoreload 2'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mprettyplotlib\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
        "\u001b[0;32m/Users/olga/workspace-git/prettyplotlib/prettyplotlib/__init__.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      3\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0m_bar\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mbar\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0m_boxplot\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mboxplot\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      5\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0m_hist\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mhist\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      6\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0m_legend\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mlegend\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
        "\u001b[0;32m/Users/olga/workspace-git/prettyplotlib/prettyplotlib/_boxplot.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      3\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mmpl\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      4\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpyplot\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mprettyplotlib\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mremove_chartjunk\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      6\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      7\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
        "\u001b[0;31mImportError\u001b[0m: cannot import name remove_chartjunk"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "The autoreload extension is already loaded. To reload it, use:\n",
        "  %reload_ext autoreload\n"
       ]
      }
     ],
     "prompt_number": 6
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import prettyplotlib"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 11
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import prettyplotlib as ppl\n",
      "import matplotlib.pyplot as plt\n",
      "from pandas.util.testing import rands\n",
      "\n",
      "\n",
      "fig, ax = plt.subplots(1)\n",
      "\n",
      "np.random.seed(14)\n",
      "\n",
      "ppl.bar(ax, np.arange(10), np.abs(np.random.randn(10)))\n",
      "\n",
      "fig.savefig('bar_prettyplotlib_default.png')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n2/Z/0EL+Eft+JiYmVFVVpebmZqWmpto9zrz6+uuvtWzZMvn9/gV7lS797xHi3t5evf/+++rt7VVK\nSsqsftw2yS+//KKjR49qaGhIN2/e1MTEhL788ku7x3osOByOWXXTtqh7PB6Fw+Gp7XA4LK/Xa9c4\ntpqcnFRlZaW2b9+uiooKu8eZd93d3Wpvb9cLL7ygrVu36ttvv9WOHTvsHmveeb1eeb1erVu3TpJU\nVVWl3t5em6eaX99//71effVVPfPMM3I6nXrnnXfU3d1t91i2cbvd+u233yRJv/76q5YtWxbza2yL\n+tq1azU4OKihoSHduXNH586dU3l5uV3j2MayLNXX1ys7O1uNjY12j2OLpqYmhcNhXb9+XW1tbXr9\n9dd15swZu8ead+np6crIyNDAwIAk6eLFi8rJybF5qvm1atUqhUIh/fXXX7IsSxcvXlR2drbdY9mm\nvLxcp0+fliSdPn16dhd9lo2CwaC1cuVK66WXXrKamprsHMU2ly9fthwOh5Wfn28VFBRYBQUFVkdH\nh91j2aarq8vasmWL3WPY5ocffrDWrl1rrV692nr77bet8fFxu0ead4cPH7ays7Ot3Nxca8eOHdad\nO3fsHmleVFdXW88995yVnJxseb1e64svvrB+//13a9OmTVZWVpZVUlJi/fHHHzGPw8tHAGCQhfuo\nAQAYiKgDgEGIOgAYhKgDgEGIOgAYhKgDgEGIOgAYhKgDgEH+C44Ji3NVhx/+AAAAAElFTkSuQmCC\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10c2f3910>"
       ]
      }
     ],
     "prompt_number": 14
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "And as with `prettyplotlib.hist`, you can also add a grid:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import prettyplotlib as ppl\n",
      "import matplotlib.pyplot as plt\n",
      "\n",
      "fig, ax = plt.subplots(1)\n",
      "\n",
      "np.random.seed(14)\n",
      "\n",
      "# 'y' for make a grid based on where the major ticks are on the y-axis\n",
      "ppl.bar(ax, np.arange(10), np.abs(np.random.randn(10)), grid='y')\n",
      "fig.savefig('bar_prettyplotlib_grid.png')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nTk62e6yIKCgo0PLly6d87v9v7qysrNQ333wTdDu2RT2UG5sWm/7+fnV3dys/P9/uUSLu448/1mef\nfaaoqMX7h0Pv3LmjZ599VlVVVcrLy9P777+v+/fv2z1WRCUkJOiTTz7RqlWrtHLlSi1btkxvvPGG\n3WPZZnh4ePLy8MTExJDu1rftJ2gx/4r9KGNjYyovL1dDQ4Pi4+PtHieirly5ohUrVig3N3fRHqVL\n/1xC3NXVpb1796qrq0txcXEh/bptkl9++UUnTpxQf3+/hoaGNDY2pq+++sruseYFh8MRUjdti3py\ncrJ8Pt/kY5/PJ6fTadc4thofH1dZWZl27typ0tJSu8eJuI6ODrW0tOiFF17Q9u3b9d1332nXrl12\njxVxTqdTTqdTGzdulCSVl5erq6vL5qki64cfftCrr76qZ555RtHR0XrvvffU0dFh91i2SUxM1G+/\n/SZJ+vXXX7VixYqg/8a2qG/YsEF9fX3q7+/XgwcPdPHiRZWUlNg1jm0sy1JNTY3S09NVV1dn9zi2\nqK+vl8/n0507d9Tc3KzXX39d58+ft3usiEtKSlJKSop6e3slSVevXlVGRobNU0XW2rVr5fV69ddf\nf8myLF29elXp6el2j2WbkpISnTt3TpJ07ty50A76LBt5PB5rzZo11ksvvWTV19fbOYptrl+/bjkc\nDis7O9vKycmxcnJyrNbWVrvHsk17e7u1bds2u8ewzY8//mht2LDBWrdunfXuu+9ao6Ojdo8UcceO\nHbPS09OtzMxMa9euXdaDBw/sHikiKioqrOeee86KiYmxnE6n9eWXX1q///67tXXrVistLc0qLCy0\n/vjjj6Db4eYjADDI4r3UAAAMRNQBwCBEHQAMQtQBwCBEHQAMQtQBwCBEHQAMQtQBwCD/A1ZNsMTu\nbylrAAAAAElFTkSuQmCC\n",
       "text": [
        "<matplotlib.figure.Figure at 0x10c29ee10>"
       ]
      }
     ],
     "prompt_number": 16
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import prettyplotlib as ppl\n",
      "import matplotlib.pyplot as plt\n",
      "import numpy as np\n",
      "import string\n",
      "\n",
      "fig, ax = plt.subplots(1)\n",
      "np.random.seed(14)\n",
      "n = 10\n",
      "ppl.bar(ax, np.arange(n), np.abs(np.random.randn(n)), annotate=True, grid='y')\n",
      "fig.savefig('bar_prettyplotlib_grid_annotated.png')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nm5HSRETEeG6bX7wZKU1ERIzX4cNHnR0pTUREjKexX0RETEShLiJiIgp1ERETUaiLiJiIQl1ExEQU\n6iLSpo5GaC0uLsZut5OZmcn48eP56quvXPPmzJlDcnIymZmZLdbZtWsXGRkZJCQk8MUXX/h9H7oi\nhbqItNI8Quvq1avZsWMH27dv55tvvmmxTExMDG+++Sbbtm3jqaee4rnnnnPNGzNmDKtXr271vvHx\n8bz44osMHz7c7/vQVelHMkSklStHaAVcI7ReOez2Pffc4/r30KFDWwwpkpSURGVlZav3jY2N9WPV\nAjpTDxodXep+++23PPbYYwwZMoQ1a9a0mN78AyVZWVkMGzaMdevWtVh3zZo13HnnnRqTRzzW1git\nNTU17S6/adMmUlNTjShNOqAz9SDgyY+RREZGMnfu3Fbj2cfGxlJUVATApUuXSElJIS0tzTW/qqqK\niooKbr75ZmN2RkzBkxFam+3du5fNmzezYcMGP1YkntKZehDw5MdIoqKiGDJkCKGh7X8PV1RUEBMT\nw0033eSatnTpUp599lm/1W5Gnb1qauZ0OsnKyuL3v/+9a9qKFStISUlxXVE5HA6/7oO3PBmhFeCr\nr77iueeeY+XKlfziF78wskRph87Ug4AnP0biiZ07d7bobVBaWorVaiU+Pt4ndXYF3lw1NVu3bh0D\nBw7k/PnzrmkWi4Xc3Fxyc3P9vg++cOUIrf369WPnzp2tBus7ceIETz/9NM8//zwDBgz42dvQL6b5\nh87Ug8DPudRtT319PWVlZYwaNQqAixcv8vLLLzNt2jTXMvoQdczbq6bq6mrKy8vJyclp9fe+lv7+\nV47QmpGRwW9+8xvXCK3No7T+7W9/o7a2lvnz55OVlUVOTo5r/fz8fMaPH893331HamoqmzdvBuC9\n994jNTWVgwcP8uSTTzJp0qSA7J+Z6Uw9CHh6qevOhx9+yODBg4mKigLg+PHj/PDDD9jtduDy1UB2\ndjbvvPMOvXv39l3xJuPtVdOSJUuYOXMm586dazVv/fr1FBUVMXjwYP70pz/Rq1cvn9TsLx2N0Lpo\n0SIWLVrU5rrtDcGdlpbW4p6P+J7O1IOAJz9G0qy9s73t27eTkZHheh0fH09FRQVlZWWUlZVhtVrZ\nsmWLAr0D3lw1ffDBB0RFRZGYmNjq/2n8+PGUlpaydetW+vXrx9KlS70tVaRNCvX/6ejmGMDChQtJ\nT0/Hbrdz5MgRwH2Xwi+//JLHHnuMzMxMnnrqqTbP3sCzS90ff/yR1NRUXnvtNVauXMmvf/1rV5vt\nhQsXqKiocHsG5Ismnq7Am6umAwcOUFZWhs1mY8aMGezdu5eZM2cC0Lt3bywWCxaLhZycHD77zJjf\nIJWuR80veHZzrLy8nGPHjrF7924OHTrE/Pnz2bhxo9suhQUFBcyePZukpCQ2b97Mq6++yvTp09us\noaNL3b59+1JeXt7mujfccAP79u1zu4/t3dS7ksPhYPHixVy6dIlHH32UvLy8VsssXLgQh8NB9+7d\nWbp0KYmJiXz77bfk5+e7lvn3v//N9OnTmThxIsuWLeODDz4gLCyMW2+9lSVLltCzZ88OawkUT24Q\nNrv6bDw/P9/1d/j4449Zs2YNy5YtA+DkyZP069cPgPfff59Bgwb5cS+kK9OZOp7dHCsrK2P06NHA\n5afnamtrOXXqVItlru5SeOzYMZKSkgBITk5m9+7dBuxN53jyWPiVX2yFhYXMnz8f+P++8kVFRWzZ\nsoXw8HDXF9vIkSPZsWMHxcXF3HbbbbzyyitG79rP4u1V05WuvDp64YUXyMzMxG638/HHHzN79mzD\n9km6Fp2p49nNsbaWqa6upk+fPq5pV3cpvOOOOygtLeXBBx/kn//8J1VVVX7cC+948lh4e19sV/4N\nrv5iGzlypGve0KFDKSkpMWJ3vOLNVVOzESNGMGLECNfr5jP2a8W5hv9S52zw+3a6h4TRI+x6v2+n\nK1Go43l789WX21eu19yl8JlnnnFNa+4d8NJLL2Gz2QgLC/NNwX7gry+2K23evLnFzVwJXnXOBgr2\nF/t9O4uG2xXqPqZQx7ObY1cvU11djdVqdb2+ukshXG6WePXVVwH47rvv2LNnj5/2wHv++mJrtnLl\nSsLCwtoNfBHxDYU6nt0cs9lsrF+/noyMDA4ePEivXr1anKFe3aUQ4KeffiIqKopLly6xcuVKxo8f\n324Ngb7c9dcXG8CWLVtwOBy89tprPtoLEWmPQp2WN8ecTic5OTmum2NwuT01NTWV8vJy0tLSCA8P\nZ8mSJa71m7sUFhYWtnjf7du389ZbbwGQnp7OmDFj2q0h0Je7/vpiczgcvPrqq6xfv57rr9dltoi/\nKdT/p6ObYwDz5s1rc932uhROnDiRiRMn+q5IP/LXF9vChQtpaGhwjXly9913u3rNBKtAXzWJeEOh\nLi7++GIL5m6c7Qn0VZOIN9RPXUTERBTqIiImolAXETERtamjG2MiYh4KdXRjrJm+3ESufQp1cdGX\nm8i1r8M29c6OMy4iIsZzG+reDMcqIiLGcxvqvhpnXEREjOE21NsaarWmpqbDZa4c9ElERIzj9kap\nL4ZjbVZdXc2KFSvaXH+wR1vx3oaDa9udZ0QN7ravGlSD0dsPhhqC/f8hGGq45ZZb3A4GeDW3oe6L\n4VibLVq0yOOiRESkc9w2v1w5HGt9fT07d+7EZrO1WMZms7l+eLmt4VhFRMQ4bs/UvR2OVUREjGVp\nurpB3EAOh4PFixdz6dIlHn30UfLy8gJVSsBUVVUxa9YsTp8+jcViYezYsdfMGOy+5nQ6yc7OJjo6\nmpdffjnQ5QREbW0tc+fO5V//+hcWi4XFixdz9913B7osQ73yyisUFxfTrVs3Bg0axJIlS7juuusC\nXZbfzZkzhz179tC7d2+2bdsGwNmzZ/njH//IiRMnuOWWW/jrX/9Kr1693L5PwAb08qQPfFcQGhrK\n7Nmz2bFjB2+//TZvvfVWl/w7AKxbt46BAwd6fIPejBYtWkRKSgq7du2iuLiYuLi4QJdkqMrKSjZu\n3Mi7777Ltm3bcDqd7NixI9BlGWLMmDGsXr26xbRVq1aRnJxMSUkJ9957L3//+987fJ+AhbonfeC7\ngr59+5KQkABAREQEsbGxnDx5MsBVGa+6upry8nJycnJa9abqKv7zn//wySefkJOTA1z+wu/Zs2eA\nqzJWjx49CAsL4+LFizQ2NlJXV9dmxwszSkpKanUWXlpa6noOKCsri/fff7/D9wlYqHvSB76rqays\n5OjRo9x1112BLsVwS5YsYebMmXTr1nVHg66srCQqKorZs2czevRo5s6dy8WLFwNdlqEiIyPJzc3l\ngQce4P7776dnz54kJycHuqyAOX36tKvjSZ8+fTh9+nSH6wTsE9SVL7Hbcv78eaZPn05BQQERERGB\nLsdQH3zwAVFRUSQmJnbZs3SAxsZGjhw5wuOPP867775LeHi4R5fbZnL8+HFef/11SktL+fDDD7lw\n4QLFxf4fZO5aYLFYPMrNgIW6J33gu4qGhgamTZuG3W7noYceCnQ5hjtw4ABlZWXYbDZmzJjB3r17\nmTlzZqDLMlx0dDRWq5UhQ4YAMGrUqC43QN7nn3/OPffcw4033khoaCjp6ekcOHAg0GUFTO/evfnx\nxx8BOHnyJFFRUR2uE7BQ96QPfFfQ1NREQUEBcXFxPPHEE4EuJyDy8/MpLy+nrKyM5cuX86tf/Ypl\ny5YFuizD9e3bl5tuuonvvvsOgIqKCgYOHBjgqowVGxvLoUOHqKuro6mpqUv+Da704IMPup4DKioq\n8uikL2DjqbfXB76r+fTTTykuLiY+Pp6srCzgcsilpKQEuLLA6cpNc8899xzPPPMMDQ0N3HrrrV3u\nuY8777yTRx55hOzsbLp160ZiYiJjx44NdFmGyM/PZ//+/Zw5c4bU1FSmTZtGXl4ef/jDH9i0aZOr\nS2NHAtpPXUREfKvrdjUQETEhhbqIiIko1EVETEShLiJiIgp1ERETUaiLiJjI/wGhRN5P66Kt9gAA\nAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x106e55610>"
       ]
      }
     ],
     "prompt_number": 8
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import prettyplotlib as ppl\n",
      "from prettyplotlib import plt\n",
      "import numpy as np\n",
      "import string\n",
      "\n",
      "fig, ax = plt.subplots(1)\n",
      "np.random.seed(14)\n",
      "n = 10\n",
      "ppl.bar(ax, np.arange(n), np.abs(np.random.randn(n)),\n",
      "        annotate=range(n,2*n), grid='y')\n",
      "fig.savefig('bar_prettyplotlib_grid_annotated_user.png')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nrkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x106a3d310>"
       ]
      }
     ],
     "prompt_number": 7
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import prettyplotlib as ppl\n",
      "from prettyplotlib import plt\n",
      "import numpy as np\n",
      "import string\n",
      "\n",
      "fig, ax = plt.subplots(1)\n",
      "np.random.seed(14)\n",
      "n = 10\n",
      "ppl.bar(ax, np.arange(n), np.abs(np.random.randn(n)), annotate=True, xticklabels=string.uppercase[:n], grid='y')\n",
      "fig.savefig('bar_prettyplotlib_grid_annotated_labeled.png')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "iVBORw0KGgoAAAANSUhEUgAAAW8AAAD7CAYAAAClvBX1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHWhJREFUeJzt3X9UU+f9B/B3hFRTLFJQwhxUBZVCtdYjejqt8G0qOWyU\nLAJVnK0t58hc8dc5OHVCpRxRcdq5P7DSHlFbpWOzShEBh5UU0pUj2lbF32tr1aKA4o8xUQRCvn8w\nUiIQIsm9ycX36y9z7w3P58L1nec+994nMqPRaAQREUnKAEcXQEREj47hTUQkQQxvIiIJYngTEUkQ\nw5uISIIY3kREEiRaeOfl5YnVFBFRvydaeF+9elWspoiI+j0OmxARSRDDm4hIghjeREQSxPAmIpIg\nhjcRkQQxvImIJIjhTUQkQQxvIiIJYngTEUkQw5uISIIY3kREEsTwJiKSIIY3EZEEMbyJiCTI1dLK\nmpoarFy5Ejdv3oRMJsOsWbMwb948s20qKyuRmJgIPz8/AIBarUZiYqJwFRMRkeXwdnV1xapVqxAU\nFITGxkbExMRg2rRpCAgIMNtuypQpyMrKErRQIiL6mcVhk2HDhiEoKAgA4ObmBn9/f1y/fr3Ldkaj\nUZjqiIioW1aPeVdXV+PcuXN4/vnnzZbLZDIcP34cGo0GCQkJ+P777+1eJBERmbM4bNKhsbERS5cu\nRUpKCtzc3MzWBQcHo6ysDAqFAnq9HgsXLkRJSYkgxRIRUbtee94tLS1YsmQJNBoNZsyY0WX94MGD\noVAoAAChoaFoaWnBnTt37F8pERGZWAxvo9GIlJQUBAQE4M033+x2m/r6etOYd1VVFQDAw8PDzmUS\nEVFnFodNvv32WxQUFCAwMBBarRYAkJSUhGvXrgEA4uLiUFJSgtzcXLi4uEChUGDz5s3CV01E9JiT\nGUW6VSQzMxOLFy8Woykion6PT1gSEUkQw5uISIIY3kREEsTwJiKSIIY3EZEEMbyJiCSI4U1EJEEM\nbyIiCWJ4ExFJEMObiEiCGN5ERBLE8CYikiCGNxGRBDG8iYgkiOFNRCRBDG8iIglieBMRSRDDm4hI\nghjeREQSxPAmIpIghjcRkQQxvImIJIjhTU6jpqYG8+bNQ2RkJF599VXs2rWr2+3Wrl0LtVoNjUaD\ns2fPmpbr9XpERERArVZj27ZtXd63Y8cOPPvss7hz545g+0AkFldHF0DUwdXVFatWrUJQUBAaGxsR\nExODadOmISAgwLRNeXk5Ll++jEOHDuHkyZNIS0vDnj17YDAYkJ6ejp07d0KpVCI2NhYqlcr03pqa\nGlRUVGD48OGO2j0iu2LPm5zGsGHDEBQUBABwc3ODv78/rl+/braNTqfDzJkzAQATJkxAQ0MDbty4\ngaqqKowYMQK+vr6Qy+WIjIxEaWmp6X0bNmzA8uXLxdsZIoExvMkpVVdX49y5c3j++efNltfV1cHH\nx8f02sfHB3V1dbh+/Xq3ywGgtLQUSqUSgYGB4hRPJAIOm5DTaWxsxNKlS5GSkgI3N7cu641Go9U/\nq6mpCR988AF27tzZp/cTOSv2vMmptLS0YMmSJdBoNJgxY0aX9UqlErW1tabXtbW18PHx6bK8pqYG\nPj4+uHLlCq5evQqNRgOVSoW6ujrExMTg5s2bouwPkVAY3uQ0jEYjUlJSEBAQgDfffLPbbVQqFfLz\n8wEAJ06cgLu7O4YOHYpx48bh0qVLqK6uRnNzM4qLi6FSqTB27FhUVFRAp9NBp9NBqVQiLy8PXl5e\nYu4akd1x2IScxrfffouCggIEBgZCq9UCAJKSknDt2jUAQFxcHMLCwlBeXo7w8HAoFApkZGQAaL9T\nJTU1FfPnz4fBYEBsbKzZXSodZDKZeDtEJCCZUaQBwMzMTCxevFiMpoiI+j0OmxARSZDF8Lb1iTci\nIhKGxTFvW554IyIi4Vjseff1ibf6+nqByiUiIuAR7jZ5lCfeamtrMXToUPtVSY+NZkMrWo1tgrfj\nKhuAJ1x4sxVJl1VH76M+8cbbsaivGlqakHKsQPB21k3WYKjLYMHbIRJKr3eb9OWJN6VSad8qiYjI\njMXwtuWJNyIiEo7FYRNbnngjIiLhWAzvSZMm4fz5873+kNTUVLsVREREveMTlkREEsTwJiKSIIY3\nEZEEMbyJiCSI4U1EJEEMbyIiCWJ4ExFJEMObiEiCGN5ERBLE8CYikiCGNxGRBDG8iYgkiOFNRCRB\nDG8iIglieBMRSRDDm4hIghjeREQSxPAmIpIgi1+DJobk5GSUlZXBy8sLBw4c6LK+srISiYmJ8PPz\nAwCo1WokJiYCaP/yYzc3N7i4uMDV1RV79+4FABw8eBBbtmzBxYsXsXfvXjz33HPi7RARkQgcHt7R\n0dF4/fXXsXLlyh63mTJlCrKysrpdt3v3bnh4eJgtCwwMxJYtW/Duu+/atVYiImfh8PAOCQlBdXW1\nxW2MRuMjrfP397e5LiIiZ+b0Y94ymQzHjx+HRqNBQkICvv/+e7N18fHxiImJwZ49exxYJRGRuJw+\nvIODg1FWVoaCggK88cYbWLhwoWldbm4u8vPzsW3bNnzyySf4+uuvHVgpkX0kJydj6tSpiIqK6nZ9\nZWUlJk2aBK1WC61Wi61bt5rW6fV6REREQK1WY9u2bablBw8eRGRkJIKCgnDmzBnB94GE5/ThPXjw\nYCgUCgBAaGgoWlpacOfOHQCAt7c3AMDT0xPh4eGoqqpyWJ1E9hIdHY3s7GyL20yZMgX5+fnIz883\nXcA3GAxIT09HdnY2ioqKUFhYiB9++AHAz9eBJk+eLHj9JA6nD+/6+nrTuHZHOHt4eOD+/fu4e/cu\nAODevXv46quvMHbs2C7vtzReTuSMQkJC4O7ubnGb7o7rqqoqjBgxAr6+vpDL5YiMjERpaSmA9utA\no0aNEqRecgyHX7BMSkrCsWPHcPv2bYSFhWHx4sVobW0FAMTFxaGkpAS5ublwcXGBQqHA5s2bAbSH\n+qJFiwC09ziioqLw0ksvAQA+//xzrF27Frdv38aCBQsQFBTUa0+GSCo6XwdSKpVYuXIlRo8ejbq6\nOvj4+Ji28/HxwcmTJx1YKQnJ4eHdEcY9mTt3LubOndtluZ+fH/bv39/te8LDwxEeHm6X+oicTcd1\nIIVCAb1ej4ULF6KkpMTRZZHInH7YhIjM9XQdyMfHB7W1tabtampqzHri1L8wvIkkpqfrQOPGjcOl\nS5dQXV2N5uZmFBcXQ6VSdXk/rwP1Dw4fNiEic329DuTq6orU1FTMnz8fBoMBsbGxCAgIAMDrQP2R\nzCjSx3BmZiYWL14sRlMkYfVNd5FyrEDwdtZN1mDooMGCt0MkFIf3vO+2PECToUWUtga5yDFYPlCU\ntoiIhNRreNsy6581mgwtovS0gPbeFsObiPqDXsPb1ln/iIjI/nq926SvT3sREZFwbB7z7ulpL2s9\n6foEXn1mvK1lWN0WOTexjgdnPhaaDa1oNbaJ0parbACecHH4pS/qA5v/arY+7XWvtRmFV07ZWoZV\nfqUc5dT/aUm848GZj4WGliZRrwMNdeFdN1Jk80M6lmb9IyIiYdgc3j097UVERMLpddikr097ERGR\ncHoN777O+kdERMLhxFRERBLE8CYikiCGNxGRBDG8iYgkiOFNRCRBDG8iIglieBMRSRDDm4hIghje\nREQSxPAmIpIghjcRkQQxvImIJIjhTUQkQQxvIiIJYngTEUkQw5uIqAfJycmYOnUqoqKietxm7dq1\nUKvV0Gg0OHv2rGn5hx9+iMjISERFRWHZsmVobm4GAGRmZiI0NBRarRZarRZ6vb5PtTG8iYh6EB0d\njezs7B7Xl5eX4/Llyzh06BDS09ORlpYGAKiursaePXvw2Wef4cCBAzAYDCgqKgIAyGQyxMfHIz8/\nH/n5+QgNDe1TbQxvIqIehISEwN3dvcf1Op0OM2fOBABMmDABDQ0NqK+vx+DBgyGXy3H//n20trai\nqakJSqXS9L6O7/21BcObiKiP6urq4OPjY3rt4+ODuro6eHh4ID4+Hi+//DKmT5+Op556ClOnTjVt\nl5OTA41Gg+TkZDQ0NPSpbYY3EZENuutFX7lyBR9//DFKS0vx5Zdf4t69eygoKAAAzJkzB6Wlpdi/\nfz+8vb2xYcOGPrXL8CYi6iOlUona2lrT69raWiiVSpw+fRoTJ07E008/DVdXV6jVahw/fhwA4OXl\nBZlMBplMhtjYWJw6dapPbTO8iYj6SKVSIT8/HwBw4sQJuLu7Y+jQoRg1ahROnjyJpqYmGI1GVFRU\nYPTo0QCA69evm95/+PBhjB07tk9tu9pePhFR/5SUlIRjx47h9u3bCAsLw+LFi9Ha2goAiIuLQ1hY\nGMrLyxEeHg6FQoGMjAwAQFBQEH77298iJiYGAwYMQHBwMGbNmgUAeO+993Du3DnIZDL4+vpizZo1\nfaqN4U1E1IPNmzf3uk1qamq3yxMSEpCQkNBl+caNG22uC+CwCRGRJDG8iYgkiOFNRCRBDG8iIgni\nBUsioh7cbXmAJkOL4O0McpFjsHzgI72H4U1E1IMmQwtSjhUI3s66yZpHDm8OmxARSVCv4W3LfLZE\nRCSMXsO7r/PZEhGRcHoN777OZ0tERMKxecy7u/lsO8+yRURE9meXu00ens9WJpNZ/d4nXZ/Aq8+M\nt0cZVrVFzk2s48GZjwX+n3Aeznw82hzePc1na617rc0ovNK3+Wwf1a+Uo3iwOjmxjgdnPhb4f8J5\nOPPxaPOwSU/z2RIRkXB67Xn3dT5bIiISTq/hbct8tkREJAw+YUlEJEEMbyIiCWJ4ExFJEMObiEiC\nGN5ERBLE8CYikiCGNxGRBDG8iYgkiOFNRCRBDG8iIglieBMRSRDDm4hIghjeREQSxPAmIpIghjcR\nkQQxvImIJIjhTUQkQQxvIiIJsvnb44mIhKDX67F+/Xq0tbXhtddeQ0JCgtn6yspKJCYmws/PDwCg\nVquRmJgIoP2L0d3c3ODi4gJXV1fs3bsXAFBVVYU1a9agtbUVLi4uSEtLw/jx48XdMTtheBOR0zEY\nDEhPT8fOnTuhVCoRGxsLlUqFgIAAs+2mTJmCrKysbn/G7t274eHhYbZs06ZNWLp0KaZPnw69Xo9N\nmzZh165dgu2HkDhsQkROp6qqCiNGjICvry/kcjkiIyNRWlraZTuj0djjz+hu3bBhw3D37l0AQEND\nA7y9ve1XtMjY8yYip1NXVwcfHx/Tax8fH5w8edJsG5lMhuPHj0Oj0UCpVGLlypUYPXq0aV18fDxc\nXFwwe/ZszJo1CwCwbNky/O53v8Of//xntLW14R//+Id4O2VnDG8icjoymazXbYKDg1FWVgaFQgG9\nXo+FCxeipKQEAJCbmwtvb2/cunUL8fHx8Pf3R0hICFJSUvDOO+8gPDwcBw8eRHJyMnbu3Cn07giC\nwyZE5HSUSiVqa2tNr2tqasx64gAwePBgKBQKAEBoaChaWlpw584dADANh3h6eiI8PBynTp0C0D4c\nEx4eDgCIiIhAVVWV4PsiFIY3ETmdcePG4dKlS6iurkZzczOKi4uhUqnMtqmvrzeNa3eEsIeHB+7f\nv28a17537x6++uorjBkzBgAwYsQIHD16FABw5MgRjBw5UqQ9sj8OmxCR03F1dUVqairmz58Pg8GA\n2NhYBAQE4O9//zsAIC4uDiUlJcjNzYWLiwsUCgU2b94MoD3UFy1aBKD9rpWoqCi89NJLAIA1a9Zg\nzZo1aG5uxqBBg5Cenu6YHbQDhjcROaXQ0FCEhoaaLYuLizP9e+7cuZg7d26X9/n5+WH//v3d/szx\n48fj008/tW+hDsJhEyIiCWJ4ExFJEMObiEiCOOZNRE7pbssDNBlaBG9nkIscg+UDBW/H3hjeROSU\nmgwtSDlWIHg76yZrJBnevQ6b6PV6REREQK1WY9u2bV3WV1ZWYtKkSdBqtdBqtdi6dasghRIR0c8s\n9rztMbMXERHZn8Wetz1m9iIiIvuz2PO2dWYvazzp+gRefUacydCfdH1ClHao78Q6Hpz5WOD/iXbO\ncCw4Qw09sRjets7sZY17rc0ovHLK6u1t8SvlKKc+WEm848GZjwX+n2jnDMeCM9TQE4vDJrbO7EVE\nRMKwGN62zOxFRETCsThsYsvMXkREJJxeH9Lp68xeREQkHM5tQkQkQQxvIiIJYngTEUkQw5uISIIY\n3kREEsTwJqJu9TajaEFBATQaDaKiojBnzhxcuHDBtC45ORlTp05FVFSU2XsOHjyIyMhIBAUF4cyZ\nM4LvQ3/G8CaiLjpmFM3OzkZRUREKCwvxww8/mG3j5+eHTz75BAcOHMDbb7+N1atXm9ZFR0cjOzu7\ny88NDAzEli1bMHnyZMH3ob/jlzEQURedZxQFYJpRtPN00BMnTjT9e8KECWZTaYSEhKC6urrLz/X3\n9xew6scLe95OordT1IsXL2L27NkYP348duzYYba844swtFotJk2ahF27dpm9d8eOHXj22Wc55wxZ\nrbsZRevq6nrcfu/evQgLCxOjNPof9rydgDVfeuHh4YF33nmny3zq/v7+yM/PBwC0tbUhNDQU4eHh\npvU1NTWoqKjA8OHDxdkZ6hesmVG0w5EjR7Bv3z7k5uYKWBE9jD1vJ2DNl154enpi/PjxcHXt+fO2\noqICfn5++MUvfmFatmHDBixfvlyw2vujvp4FdTAYDNBqtfjDH/5gWpaZmYnQ0FDTGZJerxd0H2xl\nzYyiAHDhwgWsXr0aWVlZGDJkiJglPvbY83YC1nzphTWKi4vNru6XlpZCqVQiMDDQLnU+Dmw5C+qw\na9cujB49Go2NjaZlMpkM8fHxiI+PF3wf7KHzjKLe3t4oLi7uMunctWvXsGjRImzatAkjRox45Db4\nDVy2Yc/bCTzKKWpPmpubodPpEBERAQC4f/8+PvjgAyxZssS0Df+z9M7Ws6Da2lqUl5cjNja2y+9b\nSr//zjOKRkZG4je/+Y1pRtGOWUXff/99NDQ0IC0tDVqtFrGxsab3JyUlYc6cOfjxxx8RFhaGffv2\nAQA+//xzhIWF4cSJE1iwYAHmz5/vkP3rD9jzdgLWnqJa8uWXX2LcuHHw9PQEAFy5cgVXr16FRqMB\n0N67j4mJwaeffgovLy/7Fd/P2HoWlJGRgRUrVuDu3btd1uXk5CA/Px/jxo3Dn/70J7i7u9ulZqH0\nNqPounXrsG7dum7f29PU0OHh4WbXZKjv2PN2AtZ86UWHnnpvhYWFiIyMNL0ODAxERUUFdDoddDod\nlEol8vLyGNy9sOUs6IsvvoCnpyeCg4O7/J3mzJmD0tJS7N+/H97e3tiwYYOtpdJjjuH9P71dpAKA\ntWvXQq1WQ6PR4OzZswAs36p3/vx5zJ49G1FRUXj77be77Y0B1p2i3rhxA2FhYfjoo4+QlZWF//u/\n/zONqd67dw8VFRUWezT2GJp5HNhyFnT8+HHodDqoVCosW7YMR44cwYoVKwAAXl5ekMlkkMlkiI2N\nxalT4nxHJfVfHDaBdRepysvLcfnyZRw6dAgnT55EWloa9uzZY/FWvZSUFKxatQohISHYt28ftm/f\njqVLl3ZbQ2+nqMOGDUN5eXm3733yySdRWVlpcR97urjWmV6vx/r169HW1obXXnsNCQkJXbZZu3Yt\n9Ho9Bg0ahA0bNiA4OBgXL15EUlKSaZuffvoJS5cuxbx587Bx40Z88cUXkMvleOaZZ5CRkYGnnnqq\n11ocxZoLdR0e7l0nJSWZfg9Hjx7Fjh07sHHjRgDA9evX4e3tDQA4fPgwxo4dK+Be0OOAPW9Yd5FK\np9Nh5syZANqfJmtoaEB9fb3ZNg/fqnf58mWEhIQAAKZOnYpDhw6JsDd9Y83j0J0/wNLT05GWlgbg\n53vN8/PzkZeXB4VCYfoAmzZtGoqKilBQUICRI0fiww8/FHvXHomtZ0GddT7bee+99xAVFQWNRoOj\nR49i1apVou0T9U/secO6i1TdbVNbW4uhQ4ealj18q96YMWNQWlqKV155Bf/85z9RU1Mj4F7YxprH\noXv6AOv8O3j4A2zatGmmdRMmTEBJSYkYu2MTW86COkyZMgVTpkwxve7ogUvF3ZYHaDK0CN7OIBc5\nBssHCt5Of8TwhvXjwQ+fJnd+X8eten/84x9Nyzquxm/duhUqlQpyudw+BQtAqA+wzvbt22d2UZWc\nV5OhBSnHCgRvZ91kDcO7jxjesO4i1cPb1NbWQqlUml4/fKse0D6csH37dgDAjz/+iLKyMoH2wHZC\nfYB1yMrKglwu7zHYiejRMLxh3UUqlUqFnJwcREZG4sSJE3B3dzfrcT58qx4A3Lp1C56enmhra0NW\nVhbmzJnTYw2OPk0V6gMMAPLy8qDX6/HRRx/ZaS+IiOEN84tUBoMBsbGxpotUQPt4Z1hYGMrLyxEe\nHg6FQoGMjAzT+ztu1UtPTzf7uYWFhfjb3/4GAFCr1YiOju6xBkefpgr1AabX67F9+3bk5ORg4ECe\nHhPZC8P7f3q7SAUAqamp3b63p1v15s2bh3nz5tmvSAEJ9QG2du1atLS0mOb0eOGFF0x3qTgrR58F\nEVmD4U0mQnyAOfPtkT1x9FkQkTV4nzcRkQQxvImIJIjhTUQkQRzzBi9QEZH0MLzBC1Qd+CFGJB0M\nbzLhhxiRdPQ65t3Xea6JiEg4FsPblmlCiYhIOBbD217zXBMRkX1ZDO/upgCtq6vrdZvOkxcREZH9\nWbxgaY9pQjvU1tYiMzOz2/ePs6oV2+We2NnjOjFqsNQ+a2ANYrfvDDU4+9/BGWr45S9/2e2kdhbD\n2x7ThHZYt26dpaaIiOgRWBw26TxNaHNzM4qLi6FSqcy2UalUpi/g7W6aUCIisj+LPW9bpwklIiJh\nyIwPD1g7ucOHD2PRokUoLi6Gv7+/6O0HBQUhMDAQRqMRLi4uWL16NSZOnChqDTdu3MD69etx+vRp\nuLu7w8vLC8nJyRg5cqQo7Xf8DlpbW+Hi4gKtVou33nrL6msk9qyhQ2RkJBISEkRrv6c6tm7diuHD\nh4vWfn19PTIyMnDy5EkMGTIEcrkc8+fPx4wZM0Rpf+LEiTh+/LjpdV5eHs6cOYPVq1eL0n5v9TiK\nGHVI7gnLwsJCvPzyyygqKsLixYtFb1+hUJiGif71r39h8+bN2L17t2jtG41GLFq0CNHR0fjrX/8K\nALhw4QJu3rwpWnh3/h3cunULy5Ytw927d0X9e3SuwZEcWYfRaMTChQsRHR2Nv/zlLwCAa9euQafT\niVbDwx/YYn6Ad8fR7XcQow5JzSrY2NiIqqoqrF69GsXFxY4uB//9738xZMgQUdusrKyEXC7H7Nmz\nTcsCAwMxadIkUevo4OnpifT0dOTk5Dik/cfZkSNH8MQTT5gdC8OHD8frr7/usJokdiIvaZLqeZeW\nlmL69OkYPnw4PD09cebMGTz33HOi1tDU1AStVosHDx7gxo0b+Pjjj0Vt/9///rfo+9wbX19ftLW1\nmb5wWQwdf4cOCxYswK9//WtR2u6pDj8/vx5vhxXCd999h+DgYNHa687Df4f//Oc/eOWVVxxY0eND\nUuFdVFSEt956CwAQERGBoqIi0YNs0KBBZnfXrFy5EoWFhaK17yynhY7W+e/wuNbx8LGwZs0afPPN\nN5DL5di7d68oNTy8/5999hlOnz4tStuPO8mE9507d1BZWYnvvvsOANDW1gaZTIYVK1Y4rKYXXngB\nt2/fxu3bt/H000+L0uaYMWNQUlIiSlvW+umnnzBgwADRet3UbsyYMWbfEZqamorbt28jJibGYTVx\n2EQ8khnzLikpgVarhU6ng06nQ1lZGXx9ffH11187rKaLFy/CYDDAw8NDtDZffPFFNDc3Y8+ePaZl\nFy5cwDfffCNaDZ3dunUL7777Lt544w2HtP84e/HFF/HgwQPk5uaalt2/f9+BFZGYJNPzLioqwu9/\n/3uzZWq1GkVFRQgJCRGtjs5jfEajERs3bhR9KGPLli1Yv349tm3bhoEDB8LX1xfJycmitd/xO3j4\nVkExPTzWGhoaiqSkJFFrcAbvv/8+MjIykJ2dDU9PTygUCixfvtxh9chkssd+aK+1tRVyuVzwdiR3\nnzcRkTM7f/48UlNTzc6OhSCZnjcRkbPLzc1FTk4OUlJSBG+LPW8iIgmSzAVLIiL6GcObiEiCGN5E\nRBLE8CYikiCGNxGRBDG8iYgk6P8BfvHj5KO027UAAAAASUVORK5CYII=\n",
       "text": [
        "<matplotlib.figure.Figure at 0x1063d6750>"
       ]
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [],
     "language": "python",
     "metadata": {},
     "outputs": []
    }
   ],
   "metadata": {}
  }
 ]
}